/** @jsxImportSource @emotion/react */
import * as React from "react";
import {Text,} from "customize-easy-ui-component";
import {crtOmni, ItemOmniConfig, omniCalculateDefault, pushOmni} from "../../common/omni";
import {JumpMeasure, } from "../../common/general";

/**新的第四种项目列表配置模式： 新的检验项目大列表的配置做法。【特别注意】#span几个参数，最好不要跨越编辑区域去做配置，强制缩小影响波及范围可方便调试和修改。
 * @param noDefault 是否进行这个自动配置补缺的步骤；
 *【特殊部分】orc?._Oitems: 动态，用户自己增加的；
 * 符号 ※为重要项，前缀原本放在后面的。
 * */
export const setupItemAreaRoute= ({rep, orc, theme, noDefault} :{rep:any,orc?:any, theme:any,noDefault?:boolean}
) => {
    let ari: any[] =[];
    pushOmni(ari,'1.4',[
        crtOmni('乘客须知',{big:'1.资料审查',bspan:2,seco:'1.4', },{bspan:4, },
            <Text>（1）使用单位必须制定乘客须知，并在明显地方公布。 对非专供儿童乘坐的游乐设施，因根据设备特点等，对
                乘坐儿童的年龄和身高进行规定。
            </Text>, {nos:'1.4',},false,'乘客须知'),
        crtOmni('运行记录',{seco:'1.11',span:1},{span:3 },
            <Text>（1）运行记录；
            </Text>, {nos:'1.11(1)',},true,),
        crtOmni('定检记录',{},undefined,
            <Text>（2）定期检查记录；
            </Text>, {nos:'1.11(2)',},true,),
        crtOmni('维保记录',{ },undefined,
            <Text>（3）维修保养记录。
            </Text>, {nos:'1.11(3)',mergNos:'1.11',mergName:'运维记录'},false,'运行检查维护记录'),
    ],'1.4乘客须知-1.11运行检查维护记录');
    pushOmni(ari,'2.1',[
        crtOmni('基础',{big:'2.安装及连接',bspan:4,seco:'2.1', },{bspan:5, },
            <Text>（1）基础不应有影响游艺机正常运行的不均匀沉陷、开裂和松动等异常现象。移动式游乐设施的基础应平整、坚实，符合设备的安装要求。
            </Text>, {nos:'2.1',},false,'基础'),
        crtOmni('地脚螺栓',{seco:'2.2',},undefined,
            <Text>（1）地脚螺栓连接必须采取防止松动措施，不应有严重腐蚀、锈蚀。地脚螺栓安装面应高于周围地面，避免积水造成腐蚀，条件限制的应
                对螺栓采取有效的防腐措施。
            </Text>, {nos:'2.2',},false,'地脚螺栓'),
        crtOmni('螺栓连',{seco:'2.3',span:1},{span:2 },
            <Text>（1）零部件间采用螺栓连接时，应采取防止松动措施，螺栓安装后应有明显的防松标识；各种止动垫圈在螺母拧紧后应弯转舌耳。螺栓头
                部防松保险丝应按螺纹旋向穿装缠绕。
            </Text>, {nos:'2.3(1)',},true,),
        crtOmni('销轴连',{ },undefined,
            <Text>（2）用销轴连接时，应采取防止脱落措施。
            </Text>, {nos:'2.3(2)',mergNos:'2.3',mergName:'重要连接'},false,'重要零部件间螺栓、销轴连接'),
        crtOmni('焊缝表面',{seco:'2.4',},undefined,
            <Text>（1）焊缝不应有影响安全的漏焊、烧穿、裂纹、气孔、严重咬边、焊瘤熔渣及焊高不够等缺陷。
            </Text>, {nos:'2.4',},false,'焊缝表面质量检验'),
    ],'2.1基础-2.4焊缝表面质量检验');
    pushOmni(ari,'2.5',[
        crtOmni('焊缝探伤',{bspan:4,seco:'※2.5', },{bspan:5, },
            <Text>（1）重要焊缝应进行不低于20%的磁粉（或渗透）探伤。
            </Text>, {nos:'2.5',pre:'※',},false,'重要焊缝磁粉（或渗透）探伤'),
        crtOmni('中轴垂直',{seco:'2.6',},undefined,
            <Text>（1）中心支承轴的中心线对水平面的垂直度公差≤1/1000。
            </Text>, {nos:'2.6',},false,'中心轴对水平面的垂直度'),
        crtOmni('径向跳动',{seco:'2.15',span:1},{span:2 },
            <Text>（1）径向圆跳动公差≤转盘直径的1/1500。
            </Text>, {nos:'2.15(1)',},true,),
        crtOmni('端面跳动',{ },undefined,
            <Text>（2）端面圆跳动公差≤转盘直径的1/1500。
            </Text>, {nos:'2.15(2)',mergNos:'2.15',mergName:'转盘圆跳'},false,'转盘径向圆和端面圆跳动'),
        crtOmni('转盘拉筋',{seco:'2.16',},undefined,
            <Text>（1）转盘中的拉筋应可调，调节应适度，拉紧基本一致。
            </Text>, {nos:'2.16',},false,'转盘可调拉筋检查'),
    ],'2.5重要焊缝磁粉渗透探伤-2.16转盘可调拉筋检查');
    pushOmni(ari,'4.3',[
        crtOmni('过压保',{big:'4.动力装置',bspan:2,seco:'4.3', },{bspan:2, },
            <Text>（1）应设不超过额定工作压力1.25倍的过压保护装置。
            </Text>, {nos:'4.3',},false,'液压或气动系统过压保护装置'),
        crtOmni('渗漏检',{seco:'4.5',},undefined,
            <Text>（1）液压系统不应渗漏油，气动系统不应有明显的漏气现象。
            </Text>, {nos:'4.5',},false,'液压或气动系统渗漏检查'),
    ],'4.3液压或气动系统过压保护-4.5液压或气动系统渗漏');
    pushOmni(ari,'5.2',[
        crtOmni('齿轮传动',{big:'5.机械传动',bspan:4,seco:'5.2', },{bspan:5, },
            <Text>（1）传动齿轮应符合有关齿轮标准，并无异常偏啮合及偏磨损，齿轮啮合的接触斑点要求应符合GB50231-2009中的第5.7.8条、第5.7.9
                条、第5.7.10条。
            </Text>, {nos:'5.2',},false,'齿轮传动'),
        crtOmni('拉紧适度',{seco:'5.3',span:1},{span:2 },
            <Text>（1）皮带和滚子链传动应拉紧适度，应设置可调整皮带或者链条的张紧机构。其装配要求应符合
                GB50231-2009中第5.7.1条-第5.7.5条规定。
            </Text>, {nos:'5.3(1)',},true,),
        crtOmni('表面破损',{ },undefined,
            <Text>（2）皮带表面局部无破损、老化、断裂，带连接部无伤痕、剥离，有裂纹出现应更换。
            </Text>, {nos:'5.3(2)',mergNos:'5.3',mergName:'皮带传动'},false,'皮带和滚子链传动'),
        crtOmni('润滑漏',{seco:'5.5',},undefined,
            <Text>（1）轴承及接触表面有相对运行的部位，应有润滑措施，并便于添加润滑剂，不允许形成油滴现象，无相对
                运动部位不应渗油。
            </Text>, {nos:'5.5',},false,'润滑及渗漏'),
        crtOmni('轴超磁粉',{seco:'※5.7',},undefined,
            <Text>（1）单轨列车联接器销轴等每年应进行不低于20%的超声波与磁粉（或渗透）探伤。轨距≥600mm的小火车
                车轮、连接器销轴等重要轴、销轴至少在大修时应探伤。
            </Text>, {nos:'5.7',pre:'※',},false,'重要轴、销轴超声波和磁粉（或渗透）探伤'),
    ],'5.2齿轮传动-5.7重要轴销轴超声波磁粉渗透');
    //遇到不规范的@不符合预期的：生成后再修改：后面rec{}{seco:'', third:'※5.13.5' },自拆分的多加span:0,；
    pushOmni(ari,'5.13',[
        crtOmni('绳端部固',{bspan:4,seco:'※5.13.1', },{bspan:5,seco:'5.13',span:5,third:'※5.13.1' },
            <Text>（1）钢丝绳端部必须用紧固装置固定，固定方法一般应符合GB8408-2018中5.16.4表8的要求。
            </Text>, {nos:'5.13.1',pre:'※'},false,'乘人部分钢丝绳端部坚固装置'),
        crtOmni('钢丝绳夹',{seco:'5.13.2',},{seco:'',third:'5.13.2' },
            <Text>（1）钢丝绳绳夹固定方法和钢丝绳直径与绳夹的数量、间距应符合GB4808-2018中7.9.6图9、表11的要求。
            </Text>, {nos:'5.13.2',},false,'钢丝绳绳夹检查'),
        crtOmni('防过卷',{seco:'※5.13.4',span:1},{seco:'', span:0, third:'※5.13.4', tspan:2 },
            <Text>（1）提升钢丝绳必须设有防止钢丝绳过卷和松驰的装置，
            </Text>, {nos:'5.13.4(1)',pre:'※'},true,),
        crtOmni('余3圈',{ },undefined,
            <Text>（2）钢丝绳的终端在卷筒上应留有不少于3圈的余量。
            </Text>, {nos:'5.13.4(2)',pre:'※',mergNos:'5.13.4',mergName:'钢丝绳圈'},false,'钢丝绳过卷、松驰保护和安全圈数'),
        crtOmni('断丝磨损',{seco:'※5.13.5',},{seco:'', third:'※5.13.5' },
            <Text>（1）钢丝绳的断丝、磨损等缺陷不得超过GB8408-2018第8.3.4.5的要求。
            </Text>, {nos:'5.13.5',pre:'※',},false,'钢丝绳断丝、磨损检查'),
    ],'5.13.1乘人部分钢丝绳端部坚固装置-5.13.5钢丝绳断丝磨损');
    pushOmni(ari,'5.16.1',[
        crtOmni('制动可靠',{bspan:4,seco:'※5.16.1', },{bspan:4,seco:'5.16',span:4, third:'※5.16.1' },
            <Text>（1）制动装置动作必须协调可靠，不应使乘客感受到明显的振动、摇晃。无乘客束缚装置时，在正常运行工况下，制动加速度一般不大于
                5.0m/s2，必要时可增设减速制动装置。手动控制装置操作手柄的作用力应为100-200N。
            </Text>, {nos:'5.16.1',pre:'※',},false,'制动装置动作可靠'),
        crtOmni('制动设置',{seco:'5.16.2',},{seco:'',third:'5.16.2' },
            <Text>（1）当动力电源切断后，停机时间较长或要求定位准确时，应设制动装置。设备在制动停止后，应能使运动部
                件保持静止状态，必要时应设置辅助锁定装置。
            </Text>, {nos:'5.16.2',},false,'制动装置设置要求'),
        crtOmni('闸衬磨损',{seco:'5.16.3',},{seco:'', third:'5.16.3' },
            <Text>（1）制动闸衬的磨损量不大于原厚度的50%，制动装置的制动行程应可调整。
            </Text>, {nos:'5.16.3',},false,'制动闸衬磨损检查'),
        crtOmni('断电制动',{seco:'※5.16.4',},{seco:'',third:'※5.16.4' },
            <Text>（1）游乐设施运行时，若动力源切断或制动装置控制中断，应确保游乐设施能安全停止。
            </Text>, {nos:'5.16.4',pre:'※',},false,'断电或故障时，制动装置仍能正常工作'),
    ],'5.16.1制动装置动作可靠-5.16.4断电或故障时制动工作');
    pushOmni(ari,'6.2',[
        crtOmni('乘客触处',{big:'6.乘人设施',bspan:5,seco:'6.2', },{bspan:7, },
            <Text>（1）乘人部分与障碍物间应留出≥500mm的安全距离。
            </Text>, {nos:'6.2',},false,'乘客可触及之处检查'),
        crtOmni('安全把手',{seco:'※6.7',span:1},{span:3 },
            <Text>（1）车厢或封闭式座舱必须设有安全把手和安全带（宽30mm以上，破断(承受)拉力不小于6000N）或安全压杠；
            </Text>, {nos:'6.7(1)',pre:'※',},true,),
        crtOmni('安全压杠',{},undefined,
            <Text>（2）安全压杠不应有影响安全的空行程，动作应可靠；
            </Text>, {nos:'6.7(2)',pre:'※',},true,),
        crtOmni('安带更换',{ },undefined,
            <Text>（3）安全带应明确更换周期或更换条件,束缚装置的选型应符合GB8408-2018中的6.8.3条规定。
            </Text>, {nos:'6.7(3)',pre:'※',mergNos:'6.7',mergName:'把手压杠'},false,'把手、安全带或安全压杠'),
        crtOmni('座舱牵杆',{seco:'※6.17',},undefined,
            <Text>（1）座舱的牵引装置必须设有效的保险措施。
            </Text>, {nos:'6.17',pre:'※',},false,'座舱牵引杆保险措施'),
        crtOmni('吊挂保险',{seco:'6.18',},undefined,
            <Text>（1）吊厢的吊挂轴处，应设有效的保险装置。
            </Text>, {nos:'6.18',},false,'吊厢吊挂轴的保险装置'),
        crtOmni('吊厢安距',{seco:'6.19',},undefined,
            <Text>（1）非封闭式吊厢，必须设防止乘客在运行中与周围结构物相碰撞的安全装置或留出≥500mm的安全距离。
                <JumpMeasure tag={'Measure'} rep={rep}>七、观测数据及测量结果记录</JumpMeasure>
            </Text>, {nos:'6.19',},false,'非封闭式吊厢安全措施或安全距离'),
    ],'6.2乘客可触及之处-6.19非封闭式吊厢安全措施距离');


    pushOmni(ari,'6.21',[
        crtOmni('头部窗外',{bspan:4,seco:'6.21', },{bspan:6, },
            <Text>（1）吊厢门窗应加拦挡物，乘客头部不能伸出窗外。
            </Text>, {nos:'6.21',},false,'吊厢门窗拦挡物检查'),
        crtOmni('窗玻破碎',{seco:'6.22',},undefined,
            <Text>（1）吊厢门窗玻璃应采用不宜破碎的材料。
            </Text>, {nos:'6.22',},false,'吊厢门窗玻璃检查'),
        crtOmni('车轮灵活',{seco:'6.33.1',span:1},{seco:'6.33', span:4, third:'6.33.1', tspan:3 },
            <Text>（1）车轮装置应转动灵活，润滑、维修方便。
            </Text>, {nos:'6.33.1(1)',},true,),
        crtOmni('破损缺陷',{},undefined,
            <Text>（2）表面不允许有裂纹、破损等缺陷，转角处过渡要圆滑；
            </Text>, {nos:'6.33.1(2)',},true,),
        crtOmni('内表整洁',{ },undefined,
            <Text>（3）触及乘客的内表面应整洁，不得有玻璃布头显露；
            </Text>, {nos:'6.33.1(3)',mergNos:'6.33.1',mergName:'玻璃表面'},false,'玻璃钢件表面检查'),
        crtOmni('预埋金属',{seco:'6.33.2',},{seco:'', third:'6.33.2' },
            <Text>（1）玻璃钢件边缘应平整圆滑，无分层。
            </Text>, {nos:'6.33.2',},false,'玻璃钢件与受力件直接连接时，应预埋金属件'),
    ],'6.21吊厢门窗拦挡物-6.33.2玻璃钢件与受力件直接连接');


    //【例外】原正式报告也会出现空白行？  自拆分的也要显示出细分小项目。 ,display:true;  用GenCode生成半成品后修改较多-？type不是新常态的！
    pushOmni(ari,'7.1',[
        crtOmni('接地型',{big:'7.电气及控制',bspan:6,seco:'7.1', },{bspan:6, },
            <Text>（1）低压供电系统的接地形式应采用TN-S系统或TN-C-S系统。
            </Text>, {nos:'7.1',},false,'低压配电系统的接地型式'),
        crtOmni('外壳接地',{seco:'※7.2接地要求和接地电阻',span:2},{span:2 },
            <Text>（1）电气设备金属外壳等必须可靠接地，
            </Text>, {nos:'7.2(1)',pre:'※',},true,'电气设备金属外壳接地'),
        crtOmni('配接地阻',{ },undefined,
            <Text>（2）低压配电系统保护接地电阻应≤10Ω。
                <JumpMeasure tag={'Measure'} rep={rep}>七、观测数据及测量结果记录</JumpMeasure>
            </Text>, {nos:'7.2(2)',pre:'※',mergNos:'7.2',mergName:'接地要求',display:true},false,'低压配电系统保护接地电阻值'),
        crtOmni('绝缘隔离',{seco:'7.4工作电压不大于50V的电源变压器',span:3},{span:3 },
            <Text>（1）工作电压≤50V的电源变压器的初、次级绕组间要采用相当于双重绝缘或加强绝缘水平的绝缘隔离，
            </Text>, {nos:'7.4(1)',},true,'≤50V时变压器初、次极绕组间绝缘隔离'),
        crtOmni('初次电阻',{},undefined,
            <Text>（2）变压器的初、次级绕组间的绝缘电阻≥7MΩ。
            </Text>, {nos:'7.4(2)',},true,'变压器初、次极绕组间绝缘电阻值'),
        crtOmni('绕壳电阻',{ },undefined,
            <Text>（3）变压器绕组对金属外壳间的绝缘电阻≥2 MΩ。
                <JumpMeasure tag={'Measure'} rep={rep}>七、观测数据及测量结果记录</JumpMeasure>
            </Text>, {nos:'7.4(3)',mergNos:'7.4',mergName:'50变压器',display:true},false,'变压器金属外壳间绝缘电阻值'),
    ],'7.1低压配电系统接地-7.4电压不大50V变压器');
    pushOmni(ari,'7.5',[
        crtOmni('电气安装',{bspan:9,seco:'7.5', },{bspan:9, },
            <Text>（1）电气设备安装包括控制柜、元器件安装、电缆（线）敷设等应符合下列标规范要求。
                1）GB50150-2016《电气装置安装工程电气设备交接试验标准》
                2）GB50168-2016《电气装置安装工程电缆红路施工及验收规范》
                3）GB50169-2016《电气装置安装工程接地装置施工及验收规范》
                4）GB50170-2006《电气装置安装工程旋转电机施工及验收规范》
                5）GB50171-2012《电气装置安装工程盘柜及二次回路接线施工及验收规范》
                6）GB50254-2014《电气装置安装工程低压电器施工及验收规范》
            </Text>, {nos:'7.5',},false,'电气设备安装'),
        crtOmni('控制系',{seco:'7.8.1',},{seco:'7.8',span:5, third:'7.8.1', },
            <Text>（1）控制系统必须满足游艺机工况要求。
            </Text>, {nos:'7.8.1',},false,'控制系统检查'),
        crtOmni('手动控制',{seco:'7.8.2',},{seco:'',span:0, third:'7.8.2'},
            <Text>（1）采用自动控制或联锁控制时应有维修模式，每个运动宜能单独控制。
            </Text>, {nos:'7.8.2',},false,'手动和自动控制'),
        crtOmni('按钮标志',{seco:'7.8.3',},{seco:'', third:'7.8.3'},
            <Text>（1）控制元件应灵敏可靠、操作方便，操作按钮等应有明确标志。
            </Text>, {nos:'7.8.3',},false,'控制元件可靠，操作按钮标志'),
        crtOmni('音响信号',{seco:'7.8.5',},{third:'7.8.5' },
            <Text>（1）应设提醒乘客和行人注意安全的音响等信号装置。
            </Text>, {nos:'7.8.5',},false,'音响和信号装置'),
        crtOmni('紧急开关',{seco:'※7.8.6',},{seco:'', third:'※7.8.6'},
            <Text>（1）按标准要求操作室内明显处或站台上应设紧急事故开关，开关按钮采用手动复位式。
            </Text>, {nos:'7.8.6',pre:'※',},false,'紧急事故开关'),
        crtOmni('集电器',{seco:'7.9',},undefined,
            <Text>（1）电刷和滑环应接触良好，外露的集电器必须设防雨罩。
            </Text>, {nos:'7.9',},false,'集电器'),
        crtOmni('防超速',{seco:'7.17',},undefined,
            <Text>（1）有超速可能的，应设防止超速的控制装置。
            </Text>, {nos:'7.17',},false,'防止超速的控制装置'),
        crtOmni('回路绝缘',{seco:'※7.28',},undefined,
            <Text>（1）带电回路与地之间的绝缘电阻应≥1MΩ。
                <JumpMeasure tag={'Measure'} rep={rep}>七、观测数据及测量结果记录</JumpMeasure>
            </Text>, {nos:'7.28',pre:'※',},false,'绝缘电阻'),
    ],'7.5电气设备安装-7.28绝缘电阻');
    pushOmni(ari,'8.4',[
        crtOmni('疏导乘客',{big:'8.安全防护',bspan:4,seco:'※8.4', },{bspan:4, },
            <Text>（1）当动力电源突然断电或设备发生故障时，应有疏导乘客的措施。
            </Text>, {nos:'8.4',pre:'※',},false,'事故状态疏导乘客措施'),
        crtOmni('风速计',{seco:'8.7',},undefined,
            <Text>（1）距地面高度超过20m的游乐设施应设风速计，风速仪应有方便操作人员观察的数据显示装置和报警功
                能，其最低安装高度为10m。
            </Text>, {nos:'8.7',},false,'风速计'),
        crtOmni('避雷',{seco:'8.10',},undefined,
            <Text>（1）游乐设施高度超过15m时，应设避雷装置，避雷接地电阻≤10Ω。
                <JumpMeasure tag={'Measure'} rep={rep}>七、观测数据及测量结果记录</JumpMeasure>
            </Text>, {nos:'8.10',},false,'避雷装置'),
        crtOmni('安全标',{seco:'8.13',},undefined,
            <Text>（1）游乐设施应有醒目的安全标识。
            </Text>, {nos:'8.13',},false,'安全标识'),
        crtOmni('空载试验',{big:'9.运行检查',bspan:1,seco:'※9.1.1', },{bspan:1, },
            <Text>（1）分别进行手动和自动试验，各试验不少于五次。
            </Text>, {nos:'9.1.1',pre:'※',},false,'空载运行试验'),
    ],'8.4事故状态疏导乘客措施-9.1.1空载运行试验');

    //【特殊部分】动态，用户定制的；   clRefs动态扩展hook报错  #缺点：只能做纯文本的项目叙述，不能格式化换行。
    let addConfigs =[] as ItemOmniConfig[];         //避免HOOK报错：就算_Oitems没有也要加上算上1个 const clRefs =useProjectListAs({count: refCount } )。
    if(orc?._Oitems?.length>0){
        let valOitems=orc?._Oitems?.filter((a:any) => a?.s );
        //for(let item of orc?._Oitems){}
        valOitems.forEach(({s:unos,c:urecap,e:udesc} :any, i:number)=> {
            //只能 统一是 简单的 非自拆分的: 【约束】name不能变动 顺序，中间不可空一条；
            if(0===i){
                addConfigs.push( crtOmni('_其它'+i,{big:'10.其它',bspan: orc?._Oitems?.length,seco:unos},undefined,
                    <Text>{udesc}
                    </Text>, {nos: unos},false, urecap)
                );
            }else{
                addConfigs.push( crtOmni('_其它'+i,{seco:unos},undefined,
                    <Text>{udesc}
                    </Text>, {nos: unos},false, urecap)
                );
            }
        });
    }
    pushOmni(ari,'10.1',[
        ...addConfigs
    ],'10. 其它（可添加的）');

    if (!noDefault) ari = omniCalculateDefault(ari, {iclasDefault: "A", displayDefault: false});
    return {Item: ari,} as { [key: string]: any[] };
};
